Skip to content

Enhance Add Server dialog with transport URL validation and OCI support#408

Open
lleon-at-navteca wants to merge 1 commit intoagentregistry-dev:mainfrom
Navteca:fix/add-server-dialog-streamable-http-url
Open

Enhance Add Server dialog with transport URL validation and OCI support#408
lleon-at-navteca wants to merge 1 commit intoagentregistry-dev:mainfrom
Navteca:fix/add-server-dialog-streamable-http-url

Conversation

@lleon-at-navteca
Copy link
Copy Markdown

@lleon-at-navteca lleon-at-navteca commented Mar 25, 2026

Description

Fixes the Add Server dialog so package transport validation behaves correctly for URL-based transports and improves default package configuration.

Resolves #405

What changed:

  • Transport URL validation — Prevents submission when sse or streamable-http is selected without a required URL.
  • OCI as default registry — New packages now default to the oci registry type.
  • Improved package transport UI — Package transport selection now uses radio buttons for stdio, sse, and streamable-http.
  • Conditional transport URL input — The dialog now shows a transport URL field for package transports that require it.
  • Improved package registry selection — Package registry type selection includes oci, npm, pypi, and docker, with oci selected by default.
  • Canonical schema URL — Updated the default schema value to the full MCP server schema URL.
  • Unit tests — Added coverage for package defaults, transport URL validation, and payload generation for streamable-http.

Change Type

/kind fix

Changelog

Fixed Add Server dialog validation for URL-based package transports and improved default package settings.

Additional Notes

  • Verified the new AddServerDialog test file passes in isolation.
  • Verified the full UI test suite passes.
  • The new tests cover both validation failures and successful payload generation for streamable-http.
package-form

# Description
Updates the Add Server dialog to support `streamable-http` transport and enforces URL requirements for transports that require them.

**What changed:**
- **Validation for transport URLs** — The dialog now prevents submission if a URL is missing for `sse` or `streamable-http` transport types.
- **OCI as default registry** — New packages now default to the `oci` registry type.
- **Improved UI for Remotes** — Replaced the remote type text input with a dropdown for `stdio`, `sse`, and `streamable-http`.
- **Full schema URL** — Updated the default schema to the canonical MCP server schema URL.
- **Unit tests** — Added a comprehensive test suite for the `AddServerDialog` component to ensure validation and payload structure are correct.

# Change Type
/kind feature

# Changelog
```release-note
Improved Add Server dialog with transport URL validation, OCI registry defaults, and a new test suite.
```
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 8, 2026

This pull request has been marked as stale due to no activity in the last 14 days. It will be closed in 3 days unless it is tagged "no stalebot" or other activity occurs.

@github-actions github-actions bot added the stale label Apr 8, 2026
@github-actions
Copy link
Copy Markdown

This pull request has been closed due to inactivity.

@lleon-at-navteca
Copy link
Copy Markdown
Author

I revisited the full scenario around this PR and the related issues.

This PR clearly fixes the problem described in #405.

Why:

  • Before this change, the Add Server dialog allowed users to submit sse and streamable-http transports without the required URL.
  • It also defaulted package entries to npm, which does not fit the OCI/container flow used for deployable MCP servers.
  • This PR fixes both sides in the UI by:
    • requiring a transport URL for sse and streamable-http
    • including that URL in the generated payload
    • defaulting package registryType to oci

That means the UI now prevents the invalid payloads that were causing backend validation failures.

This PR is also related to #404 and #402, but more indirectly:

  • it may unblock some cases behind those reports by allowing users to register a valid OCI-backed server definition
  • however, I would not claim it fully resolves those issues as written, because they describe broader symptoms than the specific invalid-payload bug fixed here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UI is allowing creating invalid payloads for MCP servers using streamable-http or sse transports

2 participants